package _220315;

import java.util.Scanner;

/**
 * @author ShadowLim
 * @create 2022-03-15-12:34
 */
public class _积木大赛 {
    /**
     *                 ┌─┐
     *               ┌─┼─┤
     *             ┌─┼─┼─┤
     *             ├─┼─┼─┤ ┌─┐
     *             ├─┼─┼─┼─┼─┤
     *             └─┴─┴─┴─┴─┘
     *  要达到示例的高积木度要求（2 3 4 1 2） 要搭积木块数 5 (n)块
     *  ① 选择全部的位置即区间[1,5] 此时从左到右排列 积木高度分别为 1 1 1 1 1
     *  ② 选择区间[1,3] --> 2 2 2 1 1 (积木1已经达到最终高度需要 不需要再选取区间[1,1]使其高度增加了 考虑后面 4(n - 1)块积木的所需高度要求)
     *  ③ 选择区间[2,3] --> 2 3 3 1 1 (积木2已经达到最终高度需要 不需要再选取区间[2,2]使其高度增加了 考虑后面 3(n - 2)块积木的所需高度要求)
     *  ④ 选择区间[3,3] --> 2 3 4 1 1 (积木3、4已经达到最终高度需要 不需要再选取区间[3,4]使其高度增加了 考虑后面 1(n - 4)块积木的所需高度要求)
     *  ⑤ 选择区间[5,5] --> 2 3 4 1 2 (积木3已经达到最终高度需要 不需要再选取区间[3,3]使其高度增加了 搭建完成)
     *
     * @param args
     */

    public static void main(String[] args) {
        /**
         *  贪心策略
         *  每次将「位置 i 所需的高度要求」与 「位置 i 的上一个位置所需的高度要求」 进行比较
         *  若当前位置数值更大 则这个包含这个位置的区间将被选取到 操作一次 cnt++
         *  直到遍历结束
         */
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int cnt = 0, temp = 0, pre = 0;
        for (int i = 0; i < n; i++) {
            temp = scanner.nextInt();
            if (temp > pre) {
                cnt += temp - pre;
            }
            pre = temp;
        }
        System.out.println(cnt);
        scanner.close();
    }
}

